-
-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nixos/users-groups: split isSystemUser/isNormalUser and uid check into two #357944
nixos/users-groups: split isSystemUser/isNormalUser and uid check into two #357944
Conversation
…o two Before the error message only mentioned isSystemUser/isNormalUser which lead to a confusing situation when setting isNormalUser and an uid like 500 which would generate an error like: error: Failed assertions: - Exactly one of users.users.other.isSystemUser and users.users.other.isNormalUser must be set. from which you cannot know that setting the uid to 500 *and* setting isNormalUser is the actual problem. With this patch the error looks like: error: Failed assertions: - A user cannot have a users.users.fixme.uid set below 1000 and set users.users.fixme.isNormalUser. Either users.users.fixme.isSystemUser must be set to true instead of users.users.fixme.isNormalUser or users.users.fixme.uid must be changed to 1000 or above.
f20ab63
to
db0a0b1
Compare
I just tested this, and it works as intended, however, shouldn't we also include such assertions for This is the cases I ran. users.users.testing = {
group = "testing";
# fails - good
# isNormalUser = true;
# uid = 100;
# passes - good
# isNormalUser = true;
# uid = 1000;
# fails - good
# isNormalUser = true;
# isSystemUser = true;
# uid = 1000;
# passes - should fail????
# isSystemUser = true;
# uid = 1001;
};
users.groups.testing = {}; |
@eyJhb did that fail before? If not I would like to move that to a 2nd PR otherwise I get a knot in my head fixing this. |
@SuperSandro2000 no it did not, so I think you should be good to go, and it could be a separate PR. |
I've used this cherry-picked in my fork since creating this PR and didn't encounter any issues. |
Before the error message only mentioned isSystemUser/isNormalUser which
lead to a confusing situation when setting isNormalUser and an uid like
500 which would generate an error like:
error:
Failed assertions:
from which you cannot know that setting the uid to 500 and setting
isNormalUser is the actual problem.
With this patch the error looks like:
error:
Failed assertions:
Either users.users.fixme.isSystemUser must be set to true instead of users.users.fixme.isNormalUser
or users.users.fixme.uid must be changed to 1000 or above.
I tested this via the config where I before ran into this error and it now produced a better error message and none after fixing it like before.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.